/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.ieslaferreria.creditsintesis.builders;

import com.jme.math.Vector3f;
import com.jme.scene.Node;
import com.jme.scene.state.LightState;
import com.jmex.terrain.TerrainPage;
import edu.ieslaferreria.creditsintesis.logicgame.actions.ConfigurationMapEvent;

/**
 *
 * @author josep
 * Creador y contenedor del terreno(piecesofMap),cielo(sky), y iluminacion(skydome).
 */
public interface TerrainManager {

    /**
     * build the height map and terrain block.
     */
    TerrainPage buildTerrain(Node rootNode);
    /**
     * build the height map and terrain block.
     */
    TerrainPage buildTerrain(Node rootNode,String name, int blocksize, int size, Vector3f vector3f,String modelName);

    /**
     * build the sky dome.
     */
    Sky buildSky(Node rootNode, TerrainPage terrain);

    /**
     * creates a light for the terrain.
     */
    LightState buildLighting();

    ConfigurationMapEvent getEvent();

    public TerrainPage buildRemoteTerrain(Node rootNode, String name, int blocksize, int size, Vector3f vector3f,float[]map, String modelTerrainName);



}
